{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2e20bb56",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Author:JJ\n",
    "# 时间:1024-week04\n",
    "# 主要知识：列表入门\n",
    "\n",
    "user_data = \"jiezhi||guohao||keyan||xiangqing\"\n",
    "print(user_data[1])\n",
    "\n",
    "# 引入列表\n",
    "user_data_list = [[\"jiezhi\",123,19],[\"guohao\",456,17],[\"keyan\",789,18],[\"xiangqing\",112,18]]\n",
    "# password_list = [123,456,789,112]\n",
    "# age = [19,17,18,18]\n",
    "# 1. 从左往右取值（index & slice）\n",
    "print(user_data_list[2])\n",
    "# 切片 slice ，右边的值取不到 例如[0:3] 索引为3的值取不到\n",
    "print(user_data_list[0:3])\n",
    "# 当从0开始取值时，0 可以忽略不写\n",
    "print(user_data_list[:3])\n",
    "\n",
    "# -3，-2，-1，0，1，2，3，4..\n",
    "# 2. 从右往左取值(index & slice)\n",
    "print(user_data_list[-2])\n",
    "# 切片 slice ，右边的值取不到 例如[-3:-1] 索引为-1的值取不到\n",
    "print(user_data_list[-3:-1])\n",
    "# 如果取值为空：说明slice写错了 例如[-3:0]\n",
    "# 如果要取到最后一个值，不能写0，直接省略不写\n",
    "print(user_data_list[-3:0])\n",
    "print(user_data_list[-3:])\n",
    "\n",
    "# ****重要****\n",
    "print(user_data_list[:])\n",
    "\n",
    "# 步长，list列表slice ：[start:stop:step]\n",
    "'''\n",
    "如果没有指定开始值，则默认为0；\n",
    "如果没有指定结束指，则取列表允许的最大值；\n",
    "如果没有指定步长值，则默认步长为1.\n",
    "'''\n",
    "num = list(range(10))\n",
    "print(num)\n",
    "print(num[0:6:2])\n",
    "\n",
    "'''\n",
    "列表笔记：\n",
    "1. 从左往右取值（index & slice）\n",
    "   切片 slice ，右边的值取不到 例如[0:3] 索引为3的值取不到\n",
    "   当从0开始取值时，0 可以忽略不写\n",
    "2. 从右往左取值(index & slice)\n",
    "   切片 slice ，右边的值取不到 例如[-3:-1] 索引为-1的值取不到\n",
    "   如果取值为空：说明slice写错了 例如[-3:0]\n",
    "   如果要取到最后一个值，不能写0，直接省略不写\n",
    "3.步长，list列表slice ：[start:stop:step]\n",
    "'''\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b05780a0",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 主要知识：列表入门\n",
    "\n",
    "##用户输入和格式化打印\n",
    "\n",
    " name = input(\"name: \")\n",
    " age = input(\"age: \")\n",
    " job = input(\"job: \")\n",
    " salary = input(\"salary: \")\n",
    "\n",
    "# name 动态的出现在字符串中,字符串的拼接 用 \"+\" 符号来拼接\n",
    "info = '''-----------INFO '''+ name+ '''----------\n",
    "name:'''+name+'''\n",
    "age:'''+age+'''\n",
    "job:'''+job+'''\n",
    "salary:'''+salary\n",
    "\n",
    " print(info)\n",
    "\n",
    "# 优化字符串拼接 ： 占位符 %s 动态的数据-->变量\n",
    "# 优势：1.全部都写在一个大的字符串里面了\n",
    "#      2.省略了 “+”符号\n",
    "# 缺点？ 如果有几百个需要填进去的内容？容易顺序乱掉！出现打印结果的不正确\n",
    "\n",
    " info_占位符 = '''-----------INFO %s----------\n",
    " 名字:%s\n",
    " 年龄:%s\n",
    " 工作:%s\n",
    " 工资:%s''' %(name,name,age,job,salary)\n",
    "\n",
    " print(info_占位符)\n",
    "\n",
    "# 优化： .format() 格式化 字符串\n",
    "\n",
    "info_format = '''-----------INFO {姓名}----------\n",
    " name:{姓名}\n",
    " age:{年龄}\n",
    " job:{工作}\n",
    " salary:{薪水}'''.format(年龄=age,姓名=name,工作=job,薪水=salary)\n",
    "\n",
    " print(info_format)\n",
    "\n",
    "# .format()案例\n",
    "\n",
    "url = \"https://www.nfu.edu.cn/\"  #官网的域名\n",
    "# 目标获取高教动态的所有url链接\n",
    "高教动态 = \"gjdt\"\n",
    "url_页面 = \".htm\"\n",
    "url_页面细节不变 = \"/index\"\n",
    "\n",
    "# for i in range(1,27):\n",
    "#     完整的高教动态所有页面url = url+高教动态+ url_页面细节不变 + str(i)+url_页面\n",
    "#     print(完整的高教动态所有页面url)\n",
    "\n",
    "for i in range(1,27):\n",
    "    完整的高教动态所有页面url = \"https://www.nfu.edu.cn/{新闻}/index{页码}.htm\".format(页码=str(i),新闻=\"ztb\")\n",
    "    print(完整的高教动态所有页面url)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1397457a",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "word = \"bottles\"\n",
    "\n",
    "for beer_num in range(99,0,-1):\n",
    "    print(beer_num,word,\"of beer on the wall.\")\n",
    "    print(beer_num,word,\"of beer\")\n",
    "    print(\"Take one down.\")\n",
    "    print(\"Pass it around\")\n",
    "    # 1. 拿不走了，没有足够的啤酒了\n",
    "    if beer_num == 1:\n",
    "        print(\"没有足够的bottles在wall上了\")\n",
    "    # 2. 还有足够的啤酒\n",
    "    else:\n",
    "        new_num = beer_num - 1\n",
    "        if new_num == 1:\n",
    "            word = \"bottle\"\n",
    "            print(new_num,word,\"of beer on the wall.\")\n",
    "    # 空行\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9e60b796",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 课本案例练习\n",
    "vowels = ['a','e','i','o','u']\n",
    "word = \"abandon\"\n",
    "for letter in word:\n",
    "     if letter in vowels:\n",
    "            print(letter)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
